Home networks are becoming more common and desirable for connecting computers within a home. One type of home network is the home phone line network which uses telephone lines typically installed in residential homes for communication between computers in the home. The Home Phone Line Networking Alliance (HPNA) has published a specification to standardize the behavior of home phone line networks. The current HPNA specification is version 2.0 (“HPNA 2.0”).
FIG. 1 illustrates a home phone line network. The network comprises a control chip 100. The chip 100 further comprises a Media Independent Interface (MII) 106, a Media Access Control (MAC) 108, and a Physical Layer (PHY) 110. The chip 100 implements HPNA 2.0. The chip 100 receives a signal containing data packets through the telephone wires via a phone jack 102. There is an analog front end (AFE) 104 which processes the signal between the chip 100 and the telephone wires. The chip 100 then processes the packets received in the signal from the AFE 104, and outputs a signal to the Host MAC 112.
FIG. 2 illustrates a typical hardware-software interface for a home phone line network. The interface comprises a HPNA-compatible network interface controller (NIC) 206 which receives frames from the MAC 108. The NIC 206 sends the frame to a HPNA-compatible driver software 204 which is typically on a host computer. The driver software 204 then sends the frame to an upper layer software 202, such as the Network Driver Interface Specification (NDIS).
Because conditions on the phone lines vary, the HPNA 2.0 allows the data transmission rate between two stations in the network to be changed, according to the transmission error rate. If a data transmission rate is too fast for the line condition, then there can be a high level of errors in the frames received. If the data transmission rate is too slow for the line condition, then the data transmission rate is not optimized. The data transmission rate is determined by a payload encoding (PE). The PE is defined as the bit loading (bits/symbol) multiplied by the symbol rate (symbols/sec). The goal for HPNA 2.0 is to have a transmission error rate less than 10−4.
In the HPNA 2.0, the PHY 110 receives a frame with a PE and calculates a mean square error (MSE) for this frame. This MSE is sent to the upper layer driver software 204. After receiving the MSE's for frames within a history window, defined in HPNA 2.0 as sixteen frames, the driver software 204 calculates an average mean square error (AMSE). This AMSE is compared with the acceptable AMSE range for the current PE. If the AMSE is within the range, then the station continues to transmit at the current PE. If the AMSE is below the range, then the station can use a higher PE. If the AMSE is above the range, then the station should use a lower PE. The driver software 204 then sends a packet to another station informing it of the data transmission rate change. The other station responds by generating test frames to assist the station in selecting the most appropriate PE. This is referred to as “rate negotiation”. However, HPNA 2.0 does not specify how the PHY MSE reaches the upper level driver software 204.
Accordingly, there exists a need for a method for communicating a PHY MSE to an upper layer driver software for rate negotiation. The present invention addresses such a need.